The present invention relates to a noise canceling method and an apparatus therefor and, more particularly, to a method of canceling background noise introduced into a speech signal input via, e.g., a microphone or a handset by using an adaptive filter, and an apparatus therefor.
Background noise introduced into a speech signal of the kind described is critical when it comes to, e.g., a narrow band speech coding device or a speech recognizing device having a high data compression degree. A noise canceler for canceling noise components acoustically superposed on a speech signal has been proposed in various forms in the past. For example, a biinput noise canceler using an adaptive filter is disclosed in B. Widrow et al. "Adaptive Noise Cancelling: Principles and Applications", Proceedings of IEEE, Vol. 63, No. 12, 1975, pp. 1692-1716 (Document 1 hereinafter). The adaptive filter of Document 1 approximates the impulse response of a noise path along which a noise signal input to a reference input terminal is propagated to a speech input terminal. As a result, a pseudonoise signal corresponding to a noise signal component input to the speech input terminal appears on the output terminal of the adaptive filter. The pseudonoise signal is subtracted from a received signal, i.e., mixture of speech signal and noise signal input to the speech input terminal. With such a procedure, the noise canceler suppresses the noise signal.
The filter coefficient of the above adaptive filter is corrected on the basis of a relation between an error signal produced by subtracting the pseudonoise signal from the received signal and the reference signal input to the reference input terminal. Typical of algorithms for the correction or convergence of the filter coefficient are an LMS algorithm taught in Document 1 and LIM (Learning Identification Method) taught in IEEE TRANSACTIONS ON AUTOMATIC CONTROL, Vol. 12, No. 3, 1967, pp. 282-287 (Document 2 hereinafter).
FIG. 3 shows a specific prior art noise canceler. As shown, the noise canceler includes a speech input terminal 1 and a reference input terminal 2. An acoustic speech input to, e.g., a microphone located in the vicinity of the talker's mouth is transformed to an electric speech signal and then input to the speech input terminal 1. The speech signal contains background noise. On the other hand, an electric signal output from another microphone remote from the above talker is, in essence, a noise signal for the input terminal 1 and is input to the reference input terminal 2.
The mixture of speech signal and noise signal input to the speech input terminal 1 (received signal hereinafter) is fed to a delay circuit 3. The delay circuit 3 delays the received signal by a period of time of .DELTA.t1 and applies the delayed received signal to a subtracter 5. The delay circuit 3 is inserted in order to satisfy causality; the delay .DELTA.t1 is usually selected to be one half of the number of taps of an adaptive filter 4. On the other hand, the noise signal input to the reference input terminal 2 is fed to the adaptive filter 4 as a reference noise signal. The adaptive filter 4 filters the reference noise signal and outputs a pseudo noise signal. The pseudonoise signal is delivered to the subtracter 5.
The subtracter 5 subtracts the pseudonoise signal output from the adaptive filter 4 from the delayed received signal output from the delay circuit 3. As a result, the noise signal component contained in the received signal is cancelled. The resulting output of the subtracter 5 is delivered to an output terminal 6 and is applied to the adaptive filter 4 as an error signal. The adaptive filter 4 sequentially updates its filter coefficient on the basis of the. reference noise signal and error signal as well as a preselected step size .alpha.. To update the filter coefficient, use is made of the LMS algorithm or LIM mentioned earlier.
Assume that the received signal input to the speech input terminal 1 contains a speech signal component s(k) (k being an index representative of time) and a noise signal component n(k) to be canceled, and that the delay .DELTA.t1 of the delay circuit 3 is zero. Then, a received signal y(k) routed through the speech input terminal 1 to the subtracter 5 is expressed as: EQU y(k)=s(k)+n(k) (1)
The adaptive filter 4 receives a reference noise signal x(k) via the reference input terminal 2 and generates a pseudonoise signal r(k) corresponding to the noise signal component n(k) included in the above equation (1). The subtracter 5 subtracts the pseudonoise signal r(k) from the received signal y(k) so as to produce an error signal e(k). Let additional noise components be neglected because they are sufficiently smaller than the speech signal component s(k). Then, the error signal e(k) may be expressed as: EQU e(k)=s(k)+n(k)-r(k) (2)
Assume that the LMS algorithm of Document 1 is used to update the filter coefficient of the adaptive filter 4, and that the "j" coefficient of the adaptive filter 4 at a time k is w.sub.j (k). Then, the pseudonoise signal r(k) output from the adaptive filter 4 is produced by: ##EQU1## where N denotes the number of taps of the adaptive filter 4.
By applying the pseudonoise signal produced by the equation (3) to the equation (2), there is produced the error signal e(k). With the error signal e(k), it is possible to produce a filter coefficient w.sub.j (k+1) at a time (k+1), as follows: EQU w.sub.j (k+1)=w.sub.j (k)+.alpha..multidot.e(k).multidot.x(k-j)(4)
where .alpha. denotes a step size or constant playing the role of a parameter for determining the converging time of the coefficient and an error to remain after convergence.
On the other hand, in accordance with LIM of Document 2, the filter coefficient is updated by: ##EQU2## where .mu. denotes a step size inversely proportional to the mean power of the reference noise signal x(k) input to the adaptive filter.
When the step size .alpha. or .mu. is great, rapid convergence is achievable because the filter coefficient is corrected in a great amount. However, if any interference component obstructing the updating of the coefficient is present, then its influence is aggravated due to the great amount of correction, resulting in an increase in residual error. When the step size .alpha. or .mu. is small, the influence of the interference component and therefore the residual error is reduced although the converging time increases. This indicates that trade-off exists between the converging time and the residual error.
In the noise canceler, the adaptive filter 4 is used to produce the pseudo signal component r(k) of the noise signal component n(k). Therefore, the error signal for updating the coefficient of the filter 4 must be implemented as a difference between n(k) and r(k), i.e., a residual error (n(k)-r(k)). However, as the equation (2) indicates, the error signal e(k) contains the speech signal component s(k). The speech signal component s(k) turns out an interference signal component when it comes to the updating of the coefficient of the filter 4.
To reduce the influence of the speech signal component s(k), it is necessary that the step size for updating the coefficient of the filter 4 be extremely small. This, however, brings about the problem that the convergence of the filter 4 is slowed down.
In light of the above, there has been proposed a method which, when a speech signal is detected on the basis of the result of comparison between the mean power of the received signal y(k) and the reference noise signal x(k), stops updating the coefficient, instead of selecting a relatively great step size. However, because the detection of the speech signal s(k) depends on a threshold, it is likely that the detection of the signal s(k) is delayed and increases the residual error, depending on the relation in size between the signal s(k) and the noise signal x(k), or that the updating operation stops despite the absence of the signal s(k) and delays the convergence. Moreover, when the speech signal s(k) is present, the filter 4 cannot follow the variation of the system due to the stop of the updating operation.
A VS algorithm disclosed in IEEE TRANSACTIONS ON ACOUSTIC SPEECH AND SIGNAL PROCESSING, Vol. 34, No. 2, 1986, pp. 309-316(Document 3 hereinafter) is an implementation for solving the above problems. The VS algorithm assigns a particular step size to each filter coefficient provided by a step size matrix, and sequentially varies the step size within a control range. Specifically, this algorithm halves the step size when the polarity of the slope component of the filter coefficient changes m.sub.0 consecutive times, or doubles it when the polarity does not change m.sub.1 consecutive times. The maximum step size and minimum step size are respectively determined by the reciprocal 1/.lambda. of the maximum eigenvalue of the autocorrelation matrix and the amount of error remaining after convergence.
The VS algorithm assigns to the individual filter coefficient steps sizes corresponding to irregularities in the components of the autocorrelation matrix in order to enhance rapid convergence. At the same time, this algorithm determines the converging condition of the filter coefficient in terms of the slope of the filter coefficients, and reduces the step size in order to reduce the residual error.
However, even with the VS algorithm, the error signal for updating the coefficient of the adaptive filter contains the speech signal component or interference signal. Therefore, even when the noise signal component is far smaller than the speech signal component, i.e., when good signal-to-noise (SN) ratio is expected on the speech input terminal, it is necessary to increase the number of times mo and mi and to reduce the minimum step size so as to insure stable operation. This, however, reduces the converging rate available with the VS algorithm and prevents, when the SN ratio is low, a sufficient noise canceling ability from being achieved.